package com.tanhua.dubbo.server.api;

import com.tanhua.dubbo.server.pojo.Messages;
import com.tanhua.dubbo.server.vo.PageInfo;
import org.bson.types.ObjectId;

import java.util.List;
import java.util.Map;

/**
 * @Author 王加鑫
 * @Date 2021/09/16 21:45
 * @Since JDK 1.8
 */
public interface MessagesApi {


    //当用户动态发布的时候就往Messages表中写入一条数据
    Boolean saveMessages(Long userId, ObjectId mid,Integer loveCount,Integer likeCount,Integer commentCount,Long createDate);


    Messages queryMessages(String id);

    PageInfo<Messages> queryMessagesList(Integer pageSize, Integer page, String sortProp, String sortOrder, String mid, String startTime, String endTime, Long userId);

    //根据条件查询MessagesList数据
    PageInfo<Messages> queryMessagesList(Integer pageSize, Integer page, String sortProp, String sortOrder, String mid, String startTime, String endTime, Long userId, String state);

//    /**
//     * 查询审核不同状态的数量
//     * @return
//     */
//    Map<String,Integer> queryStateCount();

    /**
     * 消息通过
     * @param ids
     * @return
     */
    String messagesPast(String[] ids);

    /**
     * 消息拒绝
     * @param ids
     * @return
     */
    String messagesReject(String[] ids);

    /**
     * 消息撤销
     * @param ids
     * @return
     */
    String messagesRevocation(String[] ids);

    /**
     * 消息置顶
     * @param
     * @return
     */
    String messagesTop(String id);

    /**
     * 根据state查询不同状态的数量
     * @param state
     * @return
     */
    Integer queryMessagesCount(String state);

    /**
     * 取消置顶
     * @param id
     * @return
     */
    String messagesUnTop(String id);

}
